<?php
namespace app\common\exceptions;


class RetCode{

    const SUCCESS = 0;  // 成功
    const ERROR   = -1; // 系统异常
    const FILE_NULL_ERROR           = 9000; // 请选择图片
    const DATABASE_ERROR            = 9001; // 数据库开小差了
    const PARAMETER_ERROR           = 9002; // 参数异常，请稍后重试
    const REQUEST_ERROR             = 9003; // '请求错误, 数据不存在'

	const WX_ERROR                  = 9004; // 微信请求 异常

    const NOT_SUBMIT_FREQUENTLY     = 9006;


    /*--------------------------------------------- 1-系统类错误码 --------------------------------------*/
    const SMS_VERIFY_TIMES_ERROR   = '11000'; // '验证码5分钟内有效，请勿频繁操作'
    const SMS_REQUEST_WRONG_ERROR  = '11001'; // '验证码请求有误'
    const SMS_VERIFY_ERROR         = '11003'; // '验证码错误'
    const SMS_EXPIRE_ERROR         = '11004'; // '验证码已过期，请重新获取'
    const SMS_REQUEST_ERROR        = '11005'; // '请求有误，请稍后重试'

    /*--------------------------------------------- 2-用户错误码 ----------------------------------------*/
    const USER_PWSSWORD_EMPTY_ERROR           = '12000'; // '请设置密码'
    const USER_NOT_EXIST_ERROR                = '12001'; // '用户不存在'
    const USER_NOT_REGISTER_ERROR             = '12002'; // '注册失败，请稍后重试'
    const USER_CHANGE_PASSWORD_ERROR          = '12003'; // '密码修改失败'
    const USER_DISABLE_ERROR                  = '12004'; // '用户已被禁用'
    const USER_PASSWORD_ERROR                 = '12005'; // '密码错误'
    const USER_PASSWORD_MAX_ERROR             = '12006'; // '请设置6~18位登录密码'
    const USER_LOGIN_CODE_REGISTER_ERROR      = '12007'; // '请先使用验证码注册~'
    const USER_SET_PASSWORD_ERROR             = '12008'; // '设置密码错误'
    const WRONG_ORIGINAL_MOBILE_ERROR         = '12009'; // '原手机号错误，请重新填写'
    const USER_LOG_OFF_EXIST_ERROR            = '12010'; // '您的账号已注销，请联系管理员'

    /*--------------------------------------------- 3-直播间信息错误码 -------------------------------------*/
    const LIVE_NOT_EXIST_ERROR                = '13000'; // '直播间不存在'
    const LIVE_NOW_ERROR                      = '13001'; // '已经开播了~'
    const LIVE_START_ERROR                    = '13002'; // '未开启直播，快去开播吧~'
    const LIVE_END_ERROR                      = '13003'; // '直播已经结束'
    const LIVE_PAUSE_ERROR                    = '13004'; // '直播已经暂停'

    /*--------------------------------------------- 4-身份认证类型错误码 ----------------------------------*/
    const USER_NO_AUTH_ERROR                  = '14000'; // '未认证主播'

    /*--------------------------------------------- 5-群组信息错误码 -------------------------------------*/
    const GROUP_CREATE_ERROR                  = '15000';

    /*--------------------------------------------- 6-快捷消息信息错误码 -------------------------------------*/
    const SHORTCUT_EXIST_ERROR                = '16000';

    public static $err_msg = [
        self::SUCCESS                           => '成功',
        self::ERROR                             => '系统错误，请稍后重试',
        self::PARAMETER_ERROR                   => '参数异常',
        self::REQUEST_ERROR                     => '请求错误, 数据不存在',
        self::FILE_NULL_ERROR                   => '请选择图片！',
        self::SMS_VERIFY_TIMES_ERROR            => '验证码5分钟内有效，请勿频繁操作',
        self::SMS_REQUEST_WRONG_ERROR           => '验证码请求错误，请稍后重试',
        self::SMS_VERIFY_ERROR                  => '验证码错误',
        self::SMS_EXPIRE_ERROR                  => '验证码已过期，请重新获取',
        self::USER_PWSSWORD_EMPTY_ERROR         => '请设置密码',
        self::USER_NOT_EXIST_ERROR              => '用户不存在',
        self::USER_NOT_REGISTER_ERROR           => '注册失败，请稍后重试',
        self::USER_CHANGE_PASSWORD_ERROR        => '密码修改失败',
        self::USER_DISABLE_ERROR                => '用户已被禁用',
        self::USER_PASSWORD_ERROR               => '密码错误',
        self::USER_PASSWORD_MAX_ERROR           => '请设置6~18位登录密码',
        self::USER_LOGIN_CODE_REGISTER_ERROR    => '请先使用验证码注册~',
        self::USER_SET_PASSWORD_ERROR           => '设置密码错误',
        self::WRONG_ORIGINAL_MOBILE_ERROR       => '原手机号错误，请重新填写',
        self::SMS_REQUEST_ERROR                 => '请求有误，请稍后重试',
        self::USER_NO_AUTH_ERROR                => '未认证主播',
        self::GROUP_CREATE_ERROR                => '群主创建失败',
        self::DATABASE_ERROR                    => '数据库开小差了',
        self::SHORTCUT_EXIST_ERROR              => '该快捷语存在，请重新填写',
        self::USER_LOG_OFF_EXIST_ERROR          => '您的账号已注销，请联系管理员',
        self::LIVE_NOT_EXIST_ERROR              => '直播间不存在',
        self::LIVE_NOW_ERROR                    => '直播已经开始了',
        self::LIVE_START_ERROR                  => '未开启直播，快去开播吧~',
        self::LIVE_END_ERROR                    => '直播已经结束',
        self::LIVE_PAUSE_ERROR                  => '直播已经暂停',
		self::WX_ERROR                          => '微信请求异常, 请稍候再试',
        self::NOT_SUBMIT_FREQUENTLY             => '请勿重复提交'
    ];

    /**
     * 错误码对应错误信息
     * @param $code
     * @param $msg
     * @return array
     */
    public static function getMsg($code, $msg = ''){

        if (!$msg && isset(self::$err_msg[$code])) {
            $msg = $code ? self::$err_msg[$code]: self::$err_msg[$code];
        }else{
            $code = self::ERROR;
            $msg = self::$err_msg[$code];
        }
        $return_info = [
            'code'  => $code,
            'msg'   => $msg,
            'data'  => (object)[]
        ];
        return $return_info;
    }
}
